package com.xhh.nphm.system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xhh.nphm.common.core.domain.QueryConditionVo;
import com.xhh.nphm.common.utils.MapDataUtil;
import com.xhh.nphm.system.domain.*;
import com.xhh.nphm.system.mapper.MwfSendBackDao;
import com.xhh.nphm.system.service.MwfSendBackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.*;

/**
 * 信件拟派工单业务接口实现类
 *
 * @author Administrator
 * @description 针对表【mWfSendBack】的数据库操作Service实现
 * @createDate 2022-06-08 12:19:37
 */
@Service
public class MwfSendBackServiceImpl extends ServiceImpl<MwfSendBackDao, MwfSendBack>
        implements MwfSendBackService {

    @Autowired
    private MwfSendBackDao mwfSendBackDao;

    @Value("${employ.location}")
    private String location;

    /**
     * 下级退回信件工单审核列表数据
     *
     * @param mwfSendBack 信件拟派工单
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> mmReturnFlowJson(MwfSendBack mwfSendBack, String workFormNo) {
        return mwfSendBackDao.mmReturnFlowJson(mwfSendBack, workFormNo);
    }

    /**
     * 市级未签收列表数据
     *
     * @param deptNo      登录用户部门编号
     * @param mwfSendBack 信件拟派工单
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> signNotListJson(String deptNo,String workFormNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.signNotListJson(deptNo,workFormNo,mwfSendBack);
    }

    @Override
    public List<Map<String, Object>> signNotListJson_gxq(String deptNo,String workFormNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.signNotListJson_gxq(deptNo,workFormNo,mwfSendBack);
    }

    /**
     * 待本部门回复列表数据
     *
     * @param deptNo      登录用户部门编号
     * @param qc 查询条件
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> replyWaitJson(String deptNo,QueryConditionVo qc) {
        List<Map<String, Object>> maps = new ArrayList<>();
        if(location.equals("jjq")){
            maps = mwfSendBackDao.replyWaitJson_jjq(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
        }else if (location.equals("px")){
            maps = mwfSendBackDao.replyWaitJson_px(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
        }
        return maps;
    }

    /**
     * 待本部门回复列表数据导出
     *
     * @param deptNo      登录用户部门编号
     * @param qc 查询条件
     * @return 列表数据
     */
    @Override
    public List<ReplyWaitMailExcel> replyWaitJsonExport(String deptNo, QueryConditionVo qc) {
        List<ReplyWaitMailExcel> maps = new ArrayList<>();
        if(location.equals("jjq")){
            maps = mwfSendBackDao.replyWaitJson_jjqExport(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
        }else if (location.equals("px")){
            maps = mwfSendBackDao.replyWaitJson_pxExport(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
        }
        return maps;
    }


    @Override
    public List<MwfSendBack> selectByWfId(String pkId) {
        return mwfSendBackDao.selectByWfId(pkId);
    }

    /**
     * 拟办部门列表数据
     * @param wfId
     * @return
     */
    @Override
    public List<MwfSendBack> sendDeptListJson(Integer wfId) {
        return mwfSendBackDao.sendDeptListJson(wfId);
    }

    /**
     * 查找信件拟派工单
     *
     * @param wfId    工单编号
     * @param sdeptId 派发部门编号
     * @return 拟派工单列表
     */
    @Override
    public List<MwfSendBack> ltSendBackMain(int wfId, String sdeptId) {
        return getBaseMapper().ltSendBackMain(wfId,sdeptId);
    }

    @Override
    public int updateSendBack(MwfSendBack sendBackEty) {
        return mwfSendBackDao.updateById(sendBackEty);
    }

    /**
     * 审核本部门回复列表数据
     *
     * @param deptId     当前登录用户部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> replyChkJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().replyChkJson(String.valueOf(deptId),workFormNo,sdeptName);
    }

    /**
     * 本部门已办毕列表数据
     *
     * @param deptId     当前登录用户部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> replyOverJson(String deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().repleOverJson(deptId,workFormNo,sdeptName);
    }

    /**
     * 根据用户角色编号和部门编号 查询全区实时满意情况
     *
     * @param roleId 角色编号
     * @param deptId 部门编号
     * @return List<Map>
     */
    @Override
    public List<Map> psMailTotalHandleState(String roleId, String deptId,boolean flag) {
        Map<String,String> params = new HashMap<>(2);
        params.put("roleId",roleId);
        params.put("deptId",deptId);
        if (flag){
            return getBaseMapper().psMailTotalHandleState_gxq(params);
        }else{
            return getBaseMapper().psMailTotalHandleState(params);
        }
    }

    @Override
    public int deleteByIds(String[] ids) {
        return mwfSendBackDao.deleteBatchIds(Arrays.asList(ids));
    }


    /**
     * 查找超出办理期限的工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> muBlueSJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().muBlueSJson(deptId, workFormNo, sdeptName);
    }

    /**
     * 查找未超出办理期限的工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> muRedSJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().muRedSJson(deptId, workFormNo, sdeptName);
    }


    /**
     * 查找待分发下级工单数据
     *
     * @param deptId     部门id
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 工单列表数据
     */
    @Override
    public List<Map<String, Object>> sendWaitListJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().sendWaitListJson(deptId,workFormNo,sdeptName);
    }

    @Override
    public List<Map<String, Object>> sendWaitListJson_gxq(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().sendWaitListJson_gxq(deptId,workFormNo,sdeptName);
    }

    /**
     * 查找上级不同意退回工单数据
     *
     * @param deptId 部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> notPassListJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().notPassListJson(deptId,workFormNo,sdeptName);
    }

    /**
     * 查找下级退回工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonBackJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().listSonBackJson(deptId, workFormNo, sdeptName);
    }

    /**
     * 查找下级已退工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonAgreeBackJson(Long deptId, String workFormNo, String sdeptName,String spareString) {
        return getBaseMapper().listSonAgreeBackJson(deptId, workFormNo, sdeptName,spareString);
    }

    /**
     * 查找下级已退工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonSignNotJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().listSonSignNot(deptId,workFormNo,sdeptName);
    }

    /**
     * 查找退回的工单数据
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  派发单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> deptBackJson(Long deptId, String workFormNo, String sdeptName) {
        return getBaseMapper().deptBackJson(deptId, workFormNo, sdeptName);
    }


    /**
     * 查找本区办理量的信件工单列表
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> rptReplyOverListJson(HashMap<String, Object> params) {
        return getBaseMapper().rptReplyOverListJson(params);
    }

    /**
     * 查找 本区信件未转派 工单列表
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> rptSendWaitListJson(HashMap<String, Object> params) {
        return getBaseMapper().rptSendWaitListJson(params);
    }

    @Override
    public List<Map<String, Object>> rptSendWaitListJson_gxq(HashMap<String, Object> params) {
        return getBaseMapper().rptSendWaitListJson_gxq(params);
    }

    /**
     * 查找被市级拒退工单列表数据
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> rptNotPassListJson(HashMap<String, Object> params) {
        return getBaseMapper().rptNotPassListJson(params);
    }

    /**
     * 查找临期工单列表
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> muBlueJson(HashMap<String, Object> params) {
        return getBaseMapper().muBlueJson(params);
    }

    /**
     * 查找超期工单列表
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> muRedJson(HashMap<String, Object> params) {
        return getBaseMapper().muRedJson(params);
    }

    /**
     * 加载承办单位未签收M列表数据
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> SonSignNotJson(HashMap<String, Object> params) {
        return getBaseMapper().SonSignNotJson(params);
    }

    @Override
    public List<Map<String, Object>> SonSignNotJson_gxq(HashMap<String, Object> params) {
        return getBaseMapper().SonSignNotJson_gxq(params);
    }

    /**
     * 加载承办单位已退M列表数据
     * @param params
     * @return
     */
    @Override
    public List<Map<String, Object>> SonAgreeBackJson(HashMap<String, Object> params) {
        return getBaseMapper().SonAgreeBackJson(params);
    }

    @Override
    public List<Map<String, Object>> SonAgreeBackJson_gxq(HashMap<String, Object> params) {
        return getBaseMapper().SonAgreeBackJson_gxq(params);
    }
    /**
     * 加载未签收工单列表数据
     *
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> rptSignNotJson(String sbdeptId, MwfSendBack sendBackEty) {
        return getBaseMapper().rptSignNotJson(sbdeptId,sendBackEty);
    }
    /**
     * 加载已退工单列表数据
     *
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> rptDeptBackJson(HashMap<String, Object> params) {
        return getBaseMapper().rptDeptBackJson(params);
    }

    /**
     * 加载下级办理中列表数据
     *
     * @param qc 查询条件
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonWaitJson(QueryConditionVo qc) {
        if(!Objects.equals(qc.getFormType(),"") && qc.getFormType().equals("催办件")){
            return getBaseMapper().listSonWaitJson1(qc);
        }
        return getBaseMapper().listSonWaitJson(qc);
    }

    @Override
    public List<Map<String, Object>> listSonWaitJson_gxq(QueryConditionVo qc) {
        if(!Objects.equals(qc.getFormType(),"") && qc.getFormType().equals("催办件")){
            return getBaseMapper().listSonWaitJson1_gxq(qc);
        }
        return getBaseMapper().listSonWaitJson_gxq(qc);
    }

    /**
     * 加载下级已办毕列表数据
     *
     * @param sendBackEty 查询条件
     * @param deptId      部门编号
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonOverJson(MwfSendBack sendBackEty, Long deptId) {
        return getBaseMapper().listSonOverJson(sendBackEty,deptId);
    }

    /**
     * 加载派单管理列表数据
     *
     * @param sendBack 查询条件
     * @param deptId   部门编号
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> sendBackListJson(MwfSendBack sendBack, Long deptId) {
        return getBaseMapper().sendBackListJson(sendBack, deptId);
    }

    /**
     * 检查二级部门下派的派单记录是否有下级回复
     *
     * @param wfId    工单id
     * @param sdeptId 拟派部门编号
     * @return 已回复/''
     */
    @Override
    public List<CheckSendBack> checkSendBack(Integer wfId, String sdeptId) {
        return getBaseMapper().checkSendBack(wfId, sdeptId);
    }

    /**
     * 查找下级部门办理件
     *
     * @param wfId    工单id
     * @param sdeptId 部门编号
     * @return 派单列表
     */
    @Override
    public List<MwfSendBack> listSendDeptSon(Integer wfId, Long sdeptId) {
        return getBaseMapper().listSendDeptSon(wfId,sdeptId);
    }

    /**
     * 查找下级部门办理件
     *
     * @param wfId    工单id
     * @param sdeptId 部门编号
     * @return 派单列表
     */
    @Override
    public List<MwfSendBack> findSubDeptHandleWF(Integer wfId, Long sdeptId) {
        return getBaseMapper().findSubDeptHandleWF(wfId,sdeptId);
    }

    /**
     * 查找下级部门办理件 使用当前派单id作为pid查询
     * @param sendId
     * @param sdeptId
     * @return
     */
    @Override
    public List<MwfSendBack> listSendSubDeptByPid(Integer sendId, Long sdeptId) {
        return getBaseMapper().listSendSubDept(sendId,sdeptId);
    }

    /**
     * 派单情况列表
     *
     * @param wfId 工单id
     * @return 列表数据
     */
    @Override
    public List<MwfSendBack> dealListJson(Integer wfId) {
        QueryWrapper<MwfSendBack> wrapper = new QueryWrapper<>();
        wrapper.eq("wfId",wfId);
        wrapper.eq("isDel",0);
        return getBaseMapper().selectList(wrapper);
    }

    /**
     * 延期申请情况列表
     *
     * @param mwfDeferEty 信件延期查询条件
     * @param deptId      部门编号
     * @return 列表数据
     */
    @Override
    public List<MwfDeferEty> mDeferResultJson(MwfDeferEty mwfDeferEty, String deptId) {
        return getBaseMapper().mDeferResultJson(mwfDeferEty,deptId);
    }

    /**
     * 查找下级退回工单 - 全退工单
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  来源单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listAllSonABackJson(Long deptId, String workFormNo, String sdeptName) {
        HashMap<String,Object> params = new HashMap<>();
        params.put("deptId",String.valueOf(deptId));
        params.put("workFormNo",workFormNo);
        params.put("sdeptName",sdeptName);
        return getBaseMapper().listAllSonABackJson(params);
    }

    /**
     * 查找下级退回工单 - 待处理
     *
     * @param deptId     部门编号
     * @param workFormNo 工单编号
     * @param sdeptName  来源单位
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonNABackJson(Long deptId, String workFormNo, String sdeptName,String spareString) {
        HashMap<String,Object> params = new HashMap<>();
        params.put("deptId",String.valueOf(deptId));
        params.put("workFormNo",workFormNo);
        params.put("sdeptName",sdeptName);
        params.put("spareString",spareString);
        return getBaseMapper().listSonNABackJson(params);
    }

    @Override
    public List<Map<String, Object>> listSonNABackJson_gxq(Long deptId, String workFormNo, String sdeptName,String spareString) {
        HashMap<String,Object> params = new HashMap<>();
        params.put("deptId",String.valueOf(deptId));
        params.put("workFormNo",workFormNo);
        params.put("sdeptName",sdeptName);
        params.put("spareString",spareString);
        return getBaseMapper().listSonNABackJson_gxq(params);
    }

    /**
     * 查询下级部门的未签收、未回复、退回和超期情况数据统计
     * 2022/12/29
     * @Param deptId 部门编号
     */
    @Override
    public List<Map<String, Object>> listSubStatisticsJson(Long deptId,boolean flag) {
//        String s = Long.toString(deptId);
//        if (s.length()>3&&s.startsWith("304")){
//            s = "301"+s.substring(3,6);
//            long finalDeptId = Long.parseLong(s);
//            //return getBaseMapper().listSubStatisticsJson(finalDeptId);
//            return getBaseMapper().listSubStatisticsJ(finalDeptId);
//        }
        //List<Map<String, Object>> maps = getBaseMapper().listSubStatisticsJson(deptId);
        List<Map<String, Object>> maps;
        if (flag){
            maps = getBaseMapper().listSubStatisticsJ_gxq(deptId);
        }else {
            maps = getBaseMapper().listSubStatisticsJ(deptId);
        }
        return maps;
    }

    /**
     * 查询市级已删除电话工单
     * @param deptId 登录用户部门编号
     * @param workFormNo 信件工单编号
     * @param mwfSendBack 信件拟派工单
     * @return
     */
    @Override
    public List<Map<String, Object>> deletedMailWFList(String deptId, String workFormNo, MwfSendBack mwfSendBack) {
        List<Map<String, Object>> list = mwfSendBackDao.deletedMailWFList(deptId, workFormNo, mwfSendBack);
//        List<Map<String, Object>> sendOrderNums = mwfSendBackDao.sendOrderNums(deptId, workFormNo, mwfSendBack);
//        for (Map<String, Object> map1 : sendOrderNums) {
//            for (Map<String, Object> map2 : list) {
//                if (map1.get("myMwfNO").equals(map2.get("myMwfNO"))) {
//                    map2.put("sendOrderNum",map1.get("sendOrderNum"));
//                }
//            }
//        }
        return list;
    }

    @Override
    public boolean updateUrgeTransact(String sbId) {
        return mwfSendBackDao.updateUrgeTransact(sbId) > 0;
    }

    /**
     * 加载下级已办毕 待处理列表数据
     *
     * @param sendBackEty 查询条件
     * @param deptId      部门编号
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonOverUntreatedJson(MwfSendBack sendBackEty, Long deptId) {
        return getBaseMapper().listSonOverUntreatedJson(sendBackEty,deptId.toString());
    }

    @Override
    public List<Map<String, Object>> listSonOverUntreatedJson_gxq(MwfSendBack sendBackEty, Long deptId) {
        return getBaseMapper().listSonOverUntreatedJson_gxq(sendBackEty,deptId.toString());
    }

    /**
     * 加载下级已办毕 已处理列表数据
     *
     * @param sendBackEty 查询条件
     * @param deptId      部门编号
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> listSonOverTreatedJson(MwfSendBack sendBackEty, Long deptId) {
        return getBaseMapper().listSonOverTreatedJson(sendBackEty,deptId.toString());
    }

    /**
     * 签收列表 同源派单
     *
     * @param deptNo      登录用户部门编号
     * @param mwfSendBack 信件拟派工单
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> notSignListJson(String deptNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.notSignListJson(deptNo,mwfSendBack);
    }

    /**
     * 待回复列表 同源再派
     *
     * @param deptNo      登录用户部门编号
     * @param mwfSendBack 信件拟派工单
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> waitReplyListJson(String deptNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.waitReplyListJson(deptNo,mwfSendBack);
    }

    /**
     * 查找当前部门办理件
     * @param wfId    工单id
     * @param handleDeptId 部门编号
     * @return 派单列表
     */
    @Override
    public MwfSendBack curDeptHandleSend(Integer wfId, String handleDeptId) {
        return mwfSendBackDao.curDeptHandleSend(wfId,handleDeptId);
    }

    /**
     * 查询处理信件工单数据 未签收及退回工单
     * @param mwfSendBack 信件工单
     * @param deptNo 办理部门
     * @return
     */
    @Override
    public List<Map<String, Object>> notHandleMailJson(String deptNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.notHandleMailJson(deptNo,mwfSendBack);
    }

    @Override
    public List<Map<String, Object>> notHandleMailJson_gxq(String deptNo,MwfSendBack mwfSendBack) {
        return mwfSendBackDao.notHandleMailJson_gxq(deptNo,mwfSendBack);
    }

    /**
     * 导出未处理信件工单数据
     * @param deptId 办理部门
     * @return
     */
    @Override
    public List<NotHandleMailExcel> notHandleMailExport(String deptId) {
        return mwfSendBackDao.notHandleMailExport(deptId);
    }

    /**
     * 上级催办信件工单数据
     * @param deptId 办理部门
     * @param mwfSendBack 信件派单
     * @return
     */
    @Override
    public List<Map<String, Object>> supUrgeMailOrderJson(String deptId, MwfSendBack mwfSendBack) {
        return mwfSendBackDao.supUrgeMailOrderJson(deptId,mwfSendBack);
    }

    /**
     * 导出上级催办信件工单数据
     * @param deptId 办理部门
     * @return
     */
    @Override
    public List<SupUrgeMailExcel> supUrgeMailOrderExport(String deptId) {
        return mwfSendBackDao.supUrgeMailOrderExport(deptId);
    }

    @Override
    public List<Map<String, Object>> subDeptMailDetailJson(String subDeptId, MwfSendBack mwfSendBack) {
        return mwfSendBackDao.subDeptMailDetailJson(subDeptId,mwfSendBack);
    }

    @Override
    public List<Map<String, Object>> subDeptMailDetailJson_gxq(String subDeptId, MwfSendBack mwfSendBack) {
        return mwfSendBackDao.subDeptMailDetailJson_gxq(subDeptId,mwfSendBack);
    }

    /**
     * 未回复工单数量
     * @param deptId 部门编号
     * @return 总数
     */
    @Override
    public Integer countReplyChkJson(Long deptId) {
        Integer replyChkCount = mwfSendBackDao.countReplyChkJson(deptId);
        return replyChkCount == null ? 0 : replyChkCount;
    }

    /**
     * 获取待本级回复的列表
     * @param num 获取条数
     * @param sbdeptId 办理部门编号
     * @return 数据集
     */
    @Override
    public List<MwfSendBack> getAWaitPeerReplyList(Integer num, String sbdeptId) {
        return mwfSendBackDao.getAWaitPeerReplyList(num, sbdeptId);
    }

    /**
     * 审核本部门回复列表数据
     * 高新区
     * @param deptId 当前登录用户部门编号
     * @param queryConditionVo 查询参数
     * @return列表数据
     */
    @Override
    public List<Map<String, Object>> replyChkJsonData(Long deptId, QueryConditionVo queryConditionVo) {
        return getBaseMapper().replyChkJsonData(MapDataUtil.multiTypeParamListToMap(queryConditionVo,String.valueOf(deptId)));
    }

    /**
     * 本部门已办毕列表数据
     * 高新区
     * @param deptId 当前登录用户部门编号
     * @param queryConditionVo 查询参数
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> replyOverJsonData(String deptId, QueryConditionVo queryConditionVo) {
        return getBaseMapper().repleOverJsonData(deptId,queryConditionVo);
    }

    /**
     * 获取审核本部门回复列表数据
     * 高新区
     * @param deptId 当前登录用户部门编号
     * @param queryConditionVo 查询参数
     * @return列表数据
     */
    @Override
    public List<Map<String, Object>> getReplyChkJson(Long userId, Long deptId, QueryConditionVo queryConditionVo) {
        return getBaseMapper().getReplyChkJson(userId, deptId ,queryConditionVo);
    }

    @Override
    public List<Map<String, Object>> backPeerDeptAuditMJson(Long deptId, QueryConditionVo queryConditionVo) {
        return mwfSendBackDao.backPeerDeptAuditMJson(deptId, queryConditionVo);
    }

    @Override
    public List<Map<String, Object>> backPeerDeptAuditMJson_gxq(Long deptId, QueryConditionVo queryConditionVo) {
        return mwfSendBackDao.backPeerDeptAuditMJson_gxq(MapDataUtil.multiTypeParamListToMap(queryConditionVo,deptId.toString()));
    }

    @Override
    public List<Map<String, Object>> peerDeptNotPassJson(Long deptId, QueryConditionVo queryConditionVo) {
        return mwfSendBackDao.peerDeptNotPassJson(deptId, queryConditionVo);
    }

    @Override
    public int dueWorkOrderCount(String deptId) {
        return mwfSendBackDao.dueWorkOrderCount(deptId);
    }

    /**
     * 待本部门回复列表数据
     * 高新区
     * @param deptNo      登录用户部门编号
     * @param qc 查询条件
     * @return 列表数据
     */
    @Override
    public List<Map<String, Object>> replyWaitJson_gxq(String deptNo,QueryConditionVo qc) {
        return mwfSendBackDao.replyWaitJson_gxq(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
    }

    /**
     * 待本部门回复列表数据导出
     *
     * @param deptNo      登录用户部门编号
     * @param qc 查询条件
     * @return 列表数据
     */
    @Override
    public List<ReplyWaitMailExcel> replyWaitJsonExport_gxq(String deptNo, QueryConditionVo qc) {
        return mwfSendBackDao.replyWaitJson_gxqExport(MapDataUtil.multiTypeParamListToMap(qc,deptNo));
    }
}